home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.25 $, $Date: 1998/08/05 11:47:25 $)
-
- =head1 DESCRIPTION
-
- This section of the FAQ answers questions about where to find
- source and documentation for Perl, support, and
- related matters.
-
- =head2 What machines support Perl? Where do I get it?
-
- The standard release of Perl (the one maintained by the perl
- development team) is distributed only in source code form. You
- can find this at http://www.perl.com/CPAN/src/latest.tar.gz, which
- in standard Internet format (a gzipped archive in POSIX tar format).
-
- Perl builds and runs on a bewildering number of platforms. Virtually
- all known and current Unix derivatives are supported (Perl's native
- platform), as are proprietary systems like VMS, DOS, OS/2, Windows,
- QNX, BeOS, and the Amiga. There are also the beginnings of support
- for MPE/iX.
-
- Binary distributions for some proprietary platforms, including
- Apple systems can be found http://www.perl.com/CPAN/ports/ directory.
- Because these are not part of the standard distribution, they may
- and in fact do differ from the base Perl port in a variety of ways.
- You'll have to check their respective release notes to see just
- what the differences are. These differences can be either positive
- (e.g. extensions for the features of the particular platform that
- are not supported in the source release of perl) or negative (e.g.
- might be based upon a less current source release of perl).
-
- A useful FAQ for Win32 Perl users is
- http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html
-
- =head2 How can I get a binary version of Perl?
-
- If you don't have a C compiler because for whatever reasons your
- vendor did not include one with your system, the best thing to do is
- grab a binary version of gcc from the net and use that to compile perl
- with. CPAN only has binaries for systems that are terribly hard to
- get free compilers for, not for Unix systems.
-
- Your first stop should be http://www.perl.com/CPAN/ports to see what
- information is already available. A simple installation guide for
- MS-DOS is available at http://www.cs.ruu.nl/~piet/perl5dos.html , and
- similarly for Windows 3.1 at http://www.cs.ruu.nl/~piet/perlwin3.html
- .
-
- =head2 I don't have a C compiler on my system. How can I compile perl?
-
- Since you don't have a C compiler, you're doomed and your vendor
- should be sacrificed to the Sun gods. But that doesn't help you.
-
- What you need to do is get a binary version of gcc for your system
- first. Consult the Usenet FAQs for your operating system for
- information on where to get such a binary version.
-
- =head2 I copied the Perl binary from one machine to another, but scripts don't work.
-
- That's probably because you forgot libraries, or library paths differ.
- You really should build the whole distribution on the machine it will
- eventually live on, and then type C<make install>. Most other
- approaches are doomed to failure.
-
- One simple way to check that things are in the right place is to print out
- the hard-coded @INC which perl is looking for.
-
- perl -e 'print join("\n",@INC)'
-
- If this command lists any paths which don't exist on your system, then you
- may need to move the appropriate libraries to these locations, or create
- symlinks, aliases, or shortcuts appropriately.
-
- You might also want to check out L<perlfaq8/"How do I keep my own
- module/library directory?">.
-
- =head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
-
- Read the F<INSTALL> file, which is part of the source distribution.
- It describes in detail how to cope with most idiosyncracies that the
- Configure script can't work around for any given system or
- architecture.
-
- =head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
-
- CPAN stands for Comprehensive Perl Archive Network, a huge archive
- replicated on dozens of machines all over the world. CPAN contains
- source code, non-native ports, documentation, scripts, and many
- third-party modules and extensions, designed for everything from
- commercial database interfaces to keyboard/screen control to web
- walking and CGI scripts. The master machine for CPAN is
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/, but you can use the
- address http://www.perl.com/CPAN/CPAN.html to fetch a copy from a
- "site near you". See http://www.perl.com/CPAN (without a slash at the
- end) for how this process works.
-
- CPAN/path/... is a naming convention for files available on CPAN
- sites. CPAN indicates the base directory of a CPAN mirror, and the
- rest of the path is the path from that directory to the file. For
- instance, if you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN
- as your CPAN site, the file CPAN/misc/japh file is downloadable as
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .
-
- Considering that there are hundreds of existing modules in the
- archive, one probably exists to do nearly anything you can think of.
- Current categories under CPAN/modules/by-category/ include perl core
- modules; development support; operating system interfaces; networking,
- devices, and interprocess communication; data type utilities; database
- interfaces; user interfaces; interfaces to other languages; filenames,
- file systems, and file locking; internationalization and locale; world
- wide web support; server and daemon utilities; archiving and
- compression; image manipulation; mail and news; control flow
- utilities; filehandle and I/O; Microsoft Windows modules; and
- miscellaneous modules.
-
- =head2 Is there an ISO or ANSI certified version of Perl?
-
- Certainly not. Larry expects that he'll be certified before Perl is.
-
- =head2 Where can I get information on Perl?
-
- The complete Perl documentation is available with the perl distribution.
- If you have perl installed locally, you probably have the documentation
- installed as well: type C<man perl> if you're on a system resembling Unix.
- This will lead you to other important man pages, including how to set your
- $MANPATH. If you're not on a Unix system, access to the documentation
- will be different; for example, it might be only in HTML format. But all
- proper perl installations have fully-accessible documentation.
-
- You might also try C<perldoc perl> in case your system doesn't
- have a proper man command, or it's been misinstalled. If that doesn't
- work, try looking in /usr/local/lib/perl5/pod for documentation.
-
- If all else fails, consult the CPAN/doc directory, which contains the
- complete documentation in various formats, including native pod,
- troff, html, and plain text. There's also a web page at
- http://www.perl.com/perl/info/documentation.html that might help.
-
- Many good books have been written about Perl -- see the section below
- for more details.
-
- =head2 What are the Perl newsgroups on USENET? Where do I post questions?
-
- The now defunct comp.lang.perl newsgroup has been superseded by the
- following groups:
-
- comp.lang.perl.announce Moderated announcement group
- comp.lang.perl.misc Very busy group about Perl in general
- comp.lang.perl.moderated Moderated discussion group
- comp.lang.perl.modules Use and development of Perl modules
- comp.lang.perl.tk Using Tk (and X) from Perl
-
- comp.infosystems.www.authoring.cgi Writing CGI scripts for the Web.
-
- Actually, the moderated group hasn't passed yet, but we're
- keeping our fingers crossed.
-
- There is also USENET gateway to the mailing list used by the crack
- Perl development team (perl5-porters) at
- news://news.perl.com/perl.porters-gw/ .
-
- =head2 Where should I post source code?
-
- You should post source code to whichever group is most appropriate,
- but feel free to cross-post to comp.lang.perl.misc. If you want to
- cross-post to alt.sources, please make sure it follows their posting
- standards, including setting the Followup-To header line to NOT
- include alt.sources; see their FAQ for details.
-
- If you're just looking for software, first use Alta Vista, Deja News, and
- search CPAN. This is faster and more productive than just posting
- a request.
-
- =head2 Perl Books
-
- A number of books on Perl and/or CGI programming are available. A few of
- these are good, some are ok, but many aren't worth your money. Tom
- Christiansen maintains a list of these books, some with extensive
- reviews, at http://www.perl.com/perl/critiques/index.html.
-
- The incontestably definitive reference book on Perl, written by
- the creator of Perl, is now in its second edition:
-
- Programming Perl (the "Camel Book"):
- Authors: Larry Wall, Tom Christiansen, and Randal Schwartz
- ISBN 1-56592-149-6 (English)
- ISBN 4-89052-384-7 (Japanese)
- URL: http://www.oreilly.com/catalog/pperl2/
- (French, German, Italian, and Hungarian translations also
- available)
-
- The companion volume to the Camel containing thousands
- of real-world examples, mini-tutorials, and complete programs
- (first premiering at the 1998 Perl Conference), is:
-
- The Perl Cookbook (the "Ram Book"):
- Authors: Tom Christiansen and Nathan Torkington,
- with Foreword by Larry Wall
- ISBN: 1-56592-243-3
- URL: http://perl.oreilly.com/cookbook/
-
- If you're already a hard-core systems programmer, then the Camel Book
- might suffice for you to learn Perl from. But if you're not, check
- out:
-
- Learning Perl (the "Llama Book"):
- Authors: Randal Schwartz and Tom Christiansen
- with Foreword by Larry Wall
- ISBN: 1-56592-284-0
- URL: http://www.oreilly.com/catalog/lperl2/
-
- Despite the picture at the URL above, the second edition of "Llama
- Book" really has a blue cover, and is updated for the 5.004 release
- of Perl. Various foreign language editions are available, including
- I<Learning Perl on Win32 Systems> (the Gecko Book).
-
- If you're not an accidental programmer, but a more serious and possibly
- even degreed computer scientist who doesn't need as much hand-holding as
- we try to provide in the Llama or its defurred cousin the Gecko, please
- check out the delightful book, I<Perl: The Programmer's Companion>,
- written by Nigel Chapman.
-
- You can order O'Reilly books directly from O'Reilly & Associates,
- 1-800-998-9938. Local/overseas is 1-707-829-0515. If you can
- locate an O'Reilly order form, you can also fax to 1-707-829-0104.
- See http://www.ora.com/ on the Web.
-
- What follows is a list of the books that the FAQ authors found personally
- useful. Your mileage may (but, we hope, probably won't) vary.
-
- Recommended books on (or muchly on) Perl follow; those marked with
- a star may be ordered from O'Reilly.
-
- =over
-
- =item References
-
- *Programming Perl
- by Larry Wall, Tom Christiansen, and Randal L. Schwartz
-
- *Perl 5 Desktop Reference
- By Johan Vromans
-
- =item Tutorials
-
- *Learning Perl [2nd edition]
- by Randal L. Schwartz and Tom Christiansen
- with foreword by Larry Wall
-
- *Learning Perl on Win32 Systems
- by Randal L. Schwartz, Erik Olson, and Tom Christiansen,
- with foreword by Larry Wall
-
- Perl: The Programmer's Companion
- by Nigel Chapman
-
- Cross-Platform Perl
- by Eric F. Johnson
-
- MacPerl: Power and Ease
- by Vicki Brown and Chris Nandor, foreword by Matthias Neeracher
-
- =item Task-Oriented
-
- *The Perl Cookbook
- by Tom Christiansen and Nathan Torkington
- with foreword by Larry Wall
-
- Perl5 Interactive Course [2nd edition]
- by Jon Orwant
-
- *Advanced Perl Programming
- by Sriram Srinivasan
-
- Effective Perl Programming
- by Joseph Hall
-
- =item Special Topics
-
- *Mastering Regular Expressions
- by Jeffrey Friedl
-
- How to Set up and Maintain a World Wide Web Site [2nd edition]
- by Lincoln Stein
-
- =back
-
- =head2 Perl in Magazines
-
- The first and only periodical devoted to All Things Perl, I<The
- Perl Journal> contains tutorials, demonstrations, case studies,
- announcements, contests, and much more. TPJ has columns on web
- development, databases, Win32 Perl, graphical programming, regular
- expressions, and networking, and sponsors the Obfuscated Perl
- Contest. It is published quarterly under the gentle hand of its
- editor, Jon Orwant. See http://www.tpj.com/ or send mail to
- subscriptions@tpj.com.
-
- Beyond this, magazines that frequently carry high-quality articles
- on Perl are I<Web Techniques> (see http://www.webtechniques.com/),
- I<Performance Computing> (http://www.performance-computing.com/), and Usenix's
- newsletter/magazine to its members, I<login:>, at http://www.usenix.org/.
- Randal's Web Technique's columns are available on the web at
- http://www.stonehenge.com/merlyn/WebTechniques/.
-
- =head2 Perl on the Net: FTP and WWW Access
-
- To get the best (and possibly cheapest) performance, pick a site from
- the list below and use it to grab the complete list of mirror sites.
- From there you can find the quickest site for you. Remember, the
- following list is I<not> the complete list of CPAN mirrors.
-
- http://www.perl.com/CPAN (redirects to another mirror)
- http://www.perl.org/CPAN
- ftp://ftp.funet.fi/pub/languages/perl/CPAN/
- http://www.cs.ruu.nl/pub/PERL/CPAN/
- ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
-
- =head2 What mailing lists are there for perl?
-
- Most of the major modules (tk, CGI, libwww-perl) have their own
- mailing lists. Consult the documentation that came with the module for
- subscription information. The following are a list of mailing lists
- related to perl itself.
-
- If you subscribe to a mailing list, it behooves you to know how to
- unsubscribe from it. Strident pleas to the list itself to get you off
- will not be favorably received.
-
- =over 4
-
- =item MacPerl
-
- There is a mailing list for discussing Macintosh Perl. Contact
- "mac-perl-request@iis.ee.ethz.ch".
-
- Also see Matthias Neeracher's (the creator and maintainer of MacPerl)
- webpage at http://www.iis.ee.ethz.ch/~neeri/macintosh/perl.html for
- many links to interesting MacPerl sites, and the applications/MPW
- tools, precompiled.
-
- =item Perl5-Porters
-
- The core development team have a mailing list for discussing fixes and
- changes to the language. Send mail to
- "perl5-porters-request@perl.org" with help in the body of the message
- for information on subscribing.
-
- =item NTPerl
-
- This list is used to discuss issues involving Win32 Perl 5 (Windows NT
- and Win95). Subscribe by mailing ListManager@ActiveWare.com with the
- message body:
-
- subscribe Perl-Win32-Users
-
- The list software, also written in perl, will automatically determine
- your address, and subscribe you automatically. To unsubscribe, mail
- the following in the message body to the same address like so:
-
- unsubscribe Perl-Win32-Users
-
- You can also check http://www.activeware.com/ and select "Mailing Lists"
- to join or leave this list.
-
- =item Perl-Packrats
-
- Discussion related to archiving of perl materials, particularly the
- Comprehensive Perl Archive Network (CPAN). Subscribe by emailing
- majordomo@cis.ufl.edu:
-
- subscribe perl-packrats
-
- The list software, also written in perl, will automatically determine
- your address, and subscribe you automatically. To unsubscribe, simple
- prepend the same command with an "un", and mail to the same address
- like so:
-
- unsubscribe perl-packrats
-
- =back
-
- =head2 Archives of comp.lang.perl.misc
-
- Have you tried Deja News or Alta Vista?
-
- ftp.cis.ufl.edu:/pub/perl/comp.lang.perl.*/monthly has an almost
- complete collection dating back to 12/89 (missing 08/91 through
- 12/93). They are kept as one large file for each month.
-
- You'll probably want more a sophisticated query and retrieval mechanism
- than a file listing, preferably one that allows you to retrieve
- articles using a fast-access indices, keyed on at least author, date,
- subject, thread (as in "trn") and probably keywords. The best
- solution the FAQ authors know of is the MH pick command, but it is
- very slow to select on 18000 articles.
-
- If you have, or know where can be found, the missing sections, please
- let perlfaq-suggestions@perl.com know.
-
- =head2 Where can I buy a commercial version of Perl?
-
- In a sense, Perl already I<is> commercial software: It has a licence
- that you can grab and carefully read to your manager. It is
- distributed in releases and comes in well-defined packages. There is a
- very large user community and an extensive literature. The
- comp.lang.perl.* newsgroups and several of the mailing lists provide
- free answers to your questions in near real-time. Perl has
- traditionally been supported by Larry, dozens of software designers
- and developers, and thousands of programmers, all working for free
- to create a useful thing to make life better for everyone.
-
- However, these answers may not suffice for managers who require a
- purchase order from a company whom they can sue should anything go
- wrong. Or maybe they need very serious hand-holding and contractual
- obligations. Shrink-wrapped CDs with perl on them are available from
- several sources if that will help.
-
- Or you can purchase a real support contract. Although Cygnus historically
- provided this service, they no longer sell support contracts for Perl.
- Instead, the Paul Ingram Group will be taking up the slack through The
- Perl Clinic. The following is a commercial from them:
-
- "Do you need professional support for Perl and/or Oraperl? Do you need
- a support contract with defined levels of service? Do you want to pay
- only for what you need?
-
- "The Paul Ingram Group has provided quality software development and
- support services to some of the world's largest corporations for ten
- years. We are now offering the same quality support services for Perl
- at The Perl Clinic. This service is led by Tim Bunce, an active perl
- porter since 1994 and well known as the author and maintainer of the
- DBI, DBD::Oracle, and Oraperl modules and author/co-maintainer of The
- Perl 5 Module List. We also offer Oracle users support for Perl5
- Oraperl and related modules (which Oracle is planning to ship as part
- of Oracle Web Server 3). 20% of the profit from our Perl support work
- will be donated to The Perl Institute."
-
- For more information, contact the The Perl Clinic:
-
- Tel: +44 1483 424424
- Fax: +44 1483 419419
- Web: http://www.perl.co.uk/
- Email: perl-support-info@perl.co.uk or Tim.Bunce@ig.co.uk
-
- See also www.perl.com for updates on training and support.
-
- =head2 Where do I send bug reports?
-
- If you are reporting a bug in the perl interpreter or the modules
- shipped with perl, use the I<perlbug> program in the perl distribution or
- mail your report to perlbug@perl.com.
-
- If you are posting a bug with a non-standard port (see the answer to
- "What platforms is Perl available for?"), a binary distribution, or a
- non-standard module (such as Tk, CGI, etc), then please see the
- documentation that came with it to determine the correct place to post
- bugs.
-
- Read the perlbug(1) man page (perl5.004 or later) for more information.
-
- =head2 What is perl.com? perl.org? The Perl Institute?
-
- The perl.com domain is managed by Tom Christiansen, who created it as a
- public service long before perl.org came about. Despite the name, it's a
- pretty non-commercial site meant to be a clearinghouse for information
- about all things Perlian, accepting no paid advertisements, bouncy
- happy gifs, or silly java applets on its pages. The Perl Home Page at
- http://www.perl.com/ is currently hosted on a T3 line courtesy of Songline
- Systems, a software-oriented subsidiary of O'Reilly and Associates.
-
- perl.org is the official vehicle for The Perl Institute. The motto of
- TPI is "helping people help Perl help people" (or something like
- that). It's a non-profit organization supporting development,
- documentation, and dissemination of perl.
-
- =head2 How do I learn about object-oriented Perl programming?
-
- L<perltoot> (distributed with 5.004 or later) is a good place to start.
- Also, L<perlobj>, L<perlref>, and L<perlmod> are useful references,
- while L<perlbot> has some excellent tips and tricks.
-
- =head1 AUTHOR AND COPYRIGHT
-
- Copyright (c) 1997, 1998 Tom Christiansen and Nathan Torkington.
- All rights reserved.
-
- When included as an integrated part of the Standard Distribution
- of Perl or of its documentation (printed or otherwise), this works is
- covered under Perl's Artistic Licence. For separate distributions of
- all or part of this FAQ outside of that, see L<perlfaq>.
-
- Irrespective of its distribution, all code examples here are public
- domain. You are permitted and encouraged to use this code and any
- derivatives thereof in your own programs for fun or for profit as you
- see fit. A simple comment in the code giving credit to the FAQ would
- be courteous but is not required.
-